<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../../../print.css" type="text/css" media="print">
<meta content="RenderPipeline,com.derschmale.wick3d.core.pipeline.RenderPipeline,_camera,_data,matchNearPlaneToFocalLength,nearPlaneDistance,useNearClipping,doCulling,doRasterization,doScreenCoords,doViewTransform,getDataForViewport,render,vertexToScreenCoord" name="keywords">
<title>com.derschmale.wick3d.core.pipeline.RenderPipeline</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'RenderPipeline - Wick3d Documentation';
				var baseRef = '../../../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">Wick3d Documentation</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../../../all-classes.html')" href="../../../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../../all-classes.html')" href="../../../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../../index-list.html')" href="../../../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../../../index.html?com/derschmale/wick3d/core/pipeline/RenderPipeline.html&amp;com/derschmale/wick3d/core/pipeline/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;RenderPipeline</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class RenderPipeline"); titleBar_setSubNav(false,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">com.derschmale.wick3d.core.pipeline</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class RenderPipeline</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implements</td><td><a href="IRenderPipeline.html">IRenderPipeline</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Subclasses</td><td><a href="../pipeline/BSPRenderPipeline.html">BSPRenderPipeline</a></td>
</tr>
</table>
<p></p>
  The RenderPipeline class is the main hub for the Wick3d rendering process when using standard Z-sorting. It is in charge of initiating all the tasks in the pipeline, such as transforming vertices to view space, culling, clipping, ... In the last stage, the objects are drawn.
  
  <p></p>
<p>
<span class="classHeaderTableLabel">See also</span>
</p>
<div class="seeAlso">
<a href="../pipeline/BSPRenderPipeline.html" target="">com.derschmale.wick3d.core.pipeline.BSPRenderPipeline</a>
<br>
<a href="../pipeline/RenderPipelineData.html" target="">com.derschmale.wick3d.core.pipeline.RenderPipelineData</a>
</div>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#matchNearPlaneToFocalLength">matchNearPlaneToFocalLength</a> : Boolean<div class="summaryTableDescription">
   Defines whether the near plane used with near plane clipping should be adjusted automatically according to the current projection's focal length.</div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#nearPlaneDistance">nearPlaneDistance</a> : Number<div class="summaryTableDescription">
   The distance of the near plane used with near plane culling or clipping.</div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#useNearClipping">useNearClipping</a> : Boolean<div class="summaryTableDescription">
   Defines whether polygons should be clipped against a near plane.</div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
</table>
</div>
<a name="protectedPropertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Properties</div>
<table id="summaryTableProtectedProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#_camera">_camera</a> : <a href="../../cameras/Camera3D.html">Camera3D</a>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#_data">_data</a> : <a href="../pipeline/RenderPipelineData.html">RenderPipelineData</a>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#RenderPipeline()">RenderPipeline</a>()</div>
<div class="summaryTableDescription">
   Creates a RenderPipeline instance.</div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getDataForViewport()">getDataForViewport</a>(viewport:<a href="../../view/Viewport.html">Viewport</a>):<a href="../pipeline/RenderPipelineData.html">RenderPipelineData</a>
</div>
<div class="summaryTableDescription">[static]
   Returns the last RenderPipelineData used for a certain Viewport, from all used RenderPipeline instances.</div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#render()">render</a>(world:<a href="../../display3D/World3D.html">World3D</a>, camera:<a href="../../cameras/Camera3D.html">Camera3D</a>, target:<a href="../../view/Viewport.html">Viewport</a>):void</div>
<div class="summaryTableDescription">
   Initiates the rendering process, ultimately drawing a world to a target viewport.</div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
</table>
</div>
<a name="protectedMethodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Protected Methods</div>
<table id="summaryTableProtectedMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#doCulling()">doCulling</a>():void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#doRasterization()">doRasterization</a>(target:<a href="../../view/Viewport.html">Viewport</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#doScreenCoords()">doScreenCoords</a>(viewport:<a href="../../view/Viewport.html">Viewport</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#doViewTransform()">doViewTransform</a>(world:<a href="../../display3D/World3D.html">World3D</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#vertexToScreenCoord()">vertexToScreenCoord</a>(vertex:<a href="../geometry/Vertex3D.html">Vertex3D</a>, viewport:<a href="../../view/Viewport.html">Viewport</a>):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">RenderPipeline</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="_camera"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">_camera</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>protected var _camera:<a href="../../cameras/Camera3D.html">Camera3D</a></code>
</div>
<a name="_data"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">_data</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected var _data:<a href="../pipeline/RenderPipelineData.html">RenderPipelineData</a></code>
</div>
<a name="matchNearPlaneToFocalLength"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">matchNearPlaneToFocalLength</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>matchNearPlaneToFocalLength:Boolean</code>&nbsp;&nbsp;[read-write]<p>
   Defines whether the near plane used with near plane clipping should be adjusted automatically according to the current projection's focal length. This argument has no effect when useNearClipping is set to false, or when using a ViewFrustum on the camera. Default value is true.
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get matchNearPlaneToFocalLength():Boolean</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set matchNearPlaneToFocalLength(value:Boolean):void</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="../geometry/Plane.html" target="">com.derschmale.wick3d.core.geometry.Plane</a>
<br>
<a href="../../projections/IProjection.html" target="">com.derschmale.wick3d.projections.IProjection</a>
</div>
</div>
<a name="nearPlaneDistance"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">nearPlaneDistance</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>nearPlaneDistance:Number</code>&nbsp;&nbsp;[read-write]<p>
   The distance of the near plane used with near plane culling or clipping.
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get nearPlaneDistance():Number</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set nearPlaneDistance(value:Number):void</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="../geometry/Plane.html" target="">com.derschmale.wick3d.core.geometry.Plane</a>
</div>
</div>
<a name="useNearClipping"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">useNearClipping</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>useNearClipping:Boolean</code>&nbsp;&nbsp;[read-write]<p>
   Defines whether polygons should be clipped against a near plane. If false, the polygons will be culled when one of their vertices is on the negative side of the plane. Default value is false.
   
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get useNearClipping():Boolean</code>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function set useNearClipping(value:Boolean):void</code>
<br>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="../clipping/SimpleNearClipper.html" target="">com.derschmale.wick3d.core.clipping.SimpleNearClipper</a>
<br>
<a href="../culling/SimpleNearCuller.html" target="">com.derschmale.wick3d.core.culling.SimpleNearCuller</a>
</div>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="RenderPipeline()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">RenderPipeline</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function RenderPipeline()</code><p>
   Creates a RenderPipeline instance.
   </p></div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="doCulling()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">doCulling</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>protected function doCulling():void</code>
</div>
<a name="doRasterization()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">doRasterization</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function doRasterization(target:<a href="../../view/Viewport.html">Viewport</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">target</span>:<a href="../../view/Viewport.html">Viewport</a></code></td>
</tr>
</table>
</div>
<a name="doScreenCoords()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">doScreenCoords</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function doScreenCoords(viewport:<a href="../../view/Viewport.html">Viewport</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">viewport</span>:<a href="../../view/Viewport.html">Viewport</a></code></td>
</tr>
</table>
</div>
<a name="doViewTransform()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">doViewTransform</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function doViewTransform(world:<a href="../../display3D/World3D.html">World3D</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">world</span>:<a href="../../display3D/World3D.html">World3D</a></code></td>
</tr>
</table>
</div>
<a name="getDataForViewport()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getDataForViewport</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function getDataForViewport(viewport:<a href="../../view/Viewport.html">Viewport</a>):<a href="../pipeline/RenderPipelineData.html">RenderPipelineData</a></code><p>
   Returns the last RenderPipelineData used for a certain Viewport, from all used RenderPipeline instances.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">viewport</span>:<a href="../../view/Viewport.html">Viewport</a></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../pipeline/RenderPipelineData.html">RenderPipelineData</a></code></td>
</tr>
</table>
</div>
<a name="render()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">render</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function render(world:<a href="../../display3D/World3D.html">World3D</a>, camera:<a href="../../cameras/Camera3D.html">Camera3D</a>, target:<a href="../../view/Viewport.html">Viewport</a>):void</code><p>
   Initiates the rendering process, ultimately drawing a world to a target viewport.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">world</span>:<a href="../../display3D/World3D.html">World3D</a></code> &mdash; The World3D instance that needs to be rendered.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">camera</span>:<a href="../../cameras/Camera3D.html">Camera3D</a></code> &mdash; The Camera3D instance through which we view the world.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">target</span>:<a href="../../view/Viewport.html">Viewport</a></code> &mdash; The Viewport used to drawn the scene to.
   </td>
</tr>
</table>
</div>
<a name="vertexToScreenCoord()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">vertexToScreenCoord</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>protected function vertexToScreenCoord(vertex:<a href="../geometry/Vertex3D.html">Vertex3D</a>, viewport:<a href="../../view/Viewport.html">Viewport</a>):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">vertex</span>:<a href="../geometry/Vertex3D.html">Vertex3D</a></code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">viewport</span>:<a href="../../view/Viewport.html">Viewport</a></code></td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
